www.gusucode.com > 调制识别 基于决策论的通信信号调制识别实现matlab源码程序 > moulation classification/key feature simulink/main.m
clear; fb=500;fc=2000;fs=12000;Ac=1;f1=500;f2=1000;f3=1500;f4=2000; Ns=1000;d_in=randint(1,Ns,8); for k=1:15 N_2ask_in=0;N_4ask_in=0;N_2fsk_in=0;N_2psk_in=0; N_4fsk_in=0;N_4psk_in=0;N_8psk_in=0;N_16qam_in=0; N_2ask_out=0;N_4ask_out=0;N_2fsk_out=0;N_2psk_out=0; N_4fsk_out=0;N_4psk_out=0;N_8psk_out=0;%N_16qam_out=0; for i=1:Ns i if d_in(i)==0 d=randint(1,300,2);s=ask2(d,fb,fc,fs,Ac);s=awgn(s,k,'measured'); N_2ask_in=N_2ask_in+1;t=judge(s,fs,fc); if t==1; N_2ask_out=N_2ask_out+1; end elseif d_in(i)==1 d=randint(1,300,4);s=ask4(d,fb,fc,fs,Ac);s=awgn(s,k,'measured'); N_4ask_in=N_4ask_in+1;t=judge(s,fs,fc); if t==2; N_4ask_out=N_4ask_out+1; end elseif d_in(i)==2 d=randint(1,300,16);s=qam16(d,fb,fc,fs,Ac);s=awgn(s,k,'measured'); N_16qam_in=N_16qam_in+1;t=judge(s,fs,fc); if t==3; N_16qam_out=N_16qam_out+1; end elseif d_in(i)==3 d=randint(1,300,2);s=fsk2(d,fb,f1,f4,fs,Ac);s=awgn(s,k,'measured'); N_2fsk_in=N_2fsk_in+1;t=judge(s,fs,fc); if t==4; N_2fsk_out=N_2fsk_out+1; end elseif d_in(i)==4 d=randint(1,300,4);s=fsk4(d,fb,f1,f2,f3,f4,fs,Ac);s=awgn(s,k,'measured'); N_4fsk_in=N_4fsk_in+1;t=judge(s,fs,fc); if t==5; N_4fsk_out=N_4fsk_out+1; end elseif d_in(i)==5 d=randint(1,300,2);s=psk2(d,fb,fc,fs,Ac);s=awgn(s,k,'measured'); N_2psk_in=N_2psk_in+1;t=judge(s,fs,fc); if t==6; N_2psk_out=N_2psk_out+1; end elseif d_in(i)==6 d=randint(1,300,4);s=psk4(d,fb,fc,fs,Ac);s=awgn(s,k,'measured'); N_4psk_in=N_4psk_in+1;t=judge(s,fs,fc); if t==7; N_4psk_out=N_4psk_out+1; end else d=randint(1,300,8);s=psk8(d,fb,fc,fs,Ac);s=awgn(s,k,'measured'); N_8psk_in=N_8psk_in+1;t=judge(s,fs,fc); if t==8; N_8psk_out=N_8psk_out+1; end end end y_2ask(k)=N_2ask_out/N_2ask_in;y_4ask(k)=N_4ask_out/N_4ask_in; y_2fsk(k)=N_2fsk_out/N_2fsk_in;y_4fsk(k)=N_4fsk_out/N_4fsk_in; y_2psk(k)=N_2psk_out/N_2psk_in;y_4psk(k)=N_4psk_out/N_4psk_in; y_16qam(k)=N_16qam_out/N_16qam_in; y_8psk(k)=N_8psk_out/N_8psk_in; end plot(y_2ask,'-*'); hold on; grid; plot(y_4ask,'-^'); plot(y_16qam,'-s');plot(y_2fsk,'-d'); plot(y_4fsk,'-p'); plot(y_2psk,'-v'); plot(y_4psk,'-x'); plot(y_8psk,'-o'); xlabel('信噪比');ylabel('识别成功率'); legend('2ask','4ask','16qam','2fsk','4fsk','2psk','4psk','8psk',0)